SUNSET ISLAND

ABOUT

A first person survival horror game made for the 2018 WolverineSoft Pumpkin Game Jam. The main goal of the game is to survive as long as possible. You can collect resources such as rocks, stones, and herbs with your axe, and trade them to the villagers in order to get necessary resources and services such as lantern oil, healing, and axe sharpening. However, the twist is, when night falls, monsters begin to appear. You can kill them with your axe and survive the night, however, the next morning you find out that the humanoid monsters that you had been killing were the villagers all along! So, you have to strike a precarious balance between killing the monsters and sparing the villagers to survive for as long as possible.

DEVELOPMENT INFO

  • Developed by Seyhyun Yang, Rob Swor, Austin Riopelle, Jacob Smellie, Joshua Rickard-Lukasavitz, and Kiva Nguyen
  • 48 hour development cycle (October 2018)
  • Made using Unity Engine

CONTRIBUTIONS

  • Programmer

POST-MORTEM

WHAT WENT RIGHT

  • The (at the time) new Unity Terrain System was used to great effect to create high quality 3d terrain for the island
  • The Unity FPSController asset was used to great effect as the basis of the player controller for the game
  • Navmesh was used to provide rudimentary but effective pathfinding for the villagers and monsters









WHAT COULD BE IMPROVED

  • Git was used for version control at the beginning of development, however, several merge conflicts later, we were somehow denied access from the repo that we had created, even the creator. We were forced to change to Unity Collab
  • This was the first time I was using Unity, so I was not able to contribute as much to the core game as I would have liked to
  • Not having enough artists resulted in programmers having to create animations via Coroutines and Translations
  • The game was highly overscoped, resulting in almost half of the features and mechanics being cut during the development process



LESSONS LEARNED

  • Properly configure git repositories for use with Unity before starting projects
  • Clearly assign work and make sure there are enough artists and sound designers in the team to match the scope of the game
  • As this was my first time using Unity, I learned quite a lot about the basics of Unity, and I had a moderate understanding of how to code and make games in Unity by the end of the Game Jam

CONTRIBUTIONS

My major contribution to this project was the implementation of the UI and menu system. When I was implementing the menu system, one major issue that came up was the player input while the game was paused. Since the orientation of the player controller, which was controlled by the mouse, was not implemented using physics, it would run indepentantly of TimeScale, which is how the pause menu was implemented. Several other things in the game, such as the text boxes for the villagers, were also like this, and would move and change indepentantly even when the game was paused and the TimeScale was set to 0. What I ended up doing to fix this was decoupling the cursor from the player controller when pause mode was entered. Also, I added code to things such as the villager text boxes that insured that the code that changes the transform in relation to the player would only run when the game was not in pause mode.